/*
 * Created: Author: Aléx Carvalho / Date: May 15, 2015
 * 
 * Changed: $Author: ac280593@gmail.com $ / $Date: 2015-06-11 04:28:43 +0000 (Thu, 11 Jun 2015) $
 */
package com.cpm.entities;

import com.cpm.wrapper.Performance;
import com.cpm.wrapper.Result;
import com.cpm.wrapper.Target;
import com.cpm.wrapper.Tendency;
import java.time.LocalDate;

public final class CompetenceBuilder {

    private Indicator indicator;
    private LocalDate competencePeriod;
    private Target target;
    private Result result;
    private Tendency tendency;
    private Performance performance;

    protected CompetenceBuilder() {
    }
    
    public CompetenceBuilder indicator(Indicator indicator) {
        this.indicator = indicator;
        return this;
    }
    
    public CompetenceBuilder competencePeriod(LocalDate competencePeriod) {
        this.competencePeriod = competencePeriod;
        return this;
    }
    
    public CompetenceBuilder target(Target target) {
        this.target = target;
        return this;
    }
    
    public CompetenceBuilder result(Result result) {
        this.result = result;
        return this;
    }
    
    public CompetenceBuilder tendency(Tendency tendency) {
        this.tendency = tendency;
        return this;
    }
    
    public CompetenceBuilder performance(Performance performance) {
        this.performance = performance;
        return this;
    }

    public Competence build() {
        return new Competence(indicator, competencePeriod, target, result, tendency, performance);
    }

}
